using System;

namespace Axe.Geometry
{
	/// <summary>
	/// Summary description for OrientedObject.
	/// </summary>
	public interface IOrientedObject
	{
		Vector3 Orientation
		{
			get;
			set;
		}

		Matrix3 World2ObjectMatrix
		{
			get;
		}

		Matrix3 Object2WorldMatrix
		{
			get;
		}

		void CalculateMatrixes();
		void ResetOrientation();

		Vector3 ToWorldCoordinateSystem(Vector3 v);
		Vector3 ToObjectCoordinateSystem(Vector3 v);

	}
}
